﻿using System;
using System.Collections.Generic;
using System.Collections;
using System.Linq;
using System.Text;

namespace TrabajoPractico1
{
    public class NodoArbol
    {

#region Declaración de Variables 

        private string elemento; //Nombre del nodo
        private List<NodoArbol> hijos=new List<NodoArbol>();
        private string padre;

#endregion

#region Constructor 

        public NodoArbol(string elemento, string padre)
        {
            this.elemento = elemento;
            this.Padre = padre;
            ArrayList hijos = new ArrayList();
        }

#endregion

#region Propiedades

        public string Padre
        {
            get { return padre; }
            set { padre = value; }
        }
#endregion

#region Métodos

        //Devuelve el nombre del nodo
        public string getElemento()
        {
            return elemento;
        }

        //Agrega un hijo al nodo
        public void addHijo(NodoArbol hijo)
        {
                hijos.Add(hijo);
        }

        //Devuelve los hijos de un nodo
        public List<NodoArbol> getHijos()
        {
            return hijos;
        }
        
        //Devuelve true si el nodo es hoja
        public bool esNodoHoja()
        {
            return hijos.Count > 0;
        }

        //Devuelve el string con el valor del padre del nodo
        public string buscarPadre()
        {
            return this.Padre;
        }

#endregion
    }

    }
